The present invention relates generally to data communication systems, and more specifically to the identification by a master controller of all slave devices that are operatively connected to the controller via a data bus.
Various data communication systems exist in which a master unit selectively communicates with subsidiary units by means of a data bus. One example of such a system can be found in a video production studio, in which a master controller, such as an edit controller, can have one or more slave recorders connected to it at any particular time by means of a SMPTE serial bus. Among other functions, the master controller operates to control the speed and direction of movement of the tape drives in each of the various recorders that are connected to it so that all of the recorders can run in synchronism.
In accordance with established standards, each instruction which the master controller sends to a slave device in this type of system must be preceded by a unique address assigned to that device. More particularly, each communication between the master controller and the slave device is initiated by sending the slave's address. Until the slave detects a message that begins with its address, it does not respond to the master or otherwise put information on the bus. Furthermore, once a communication has been initiated, the address is not re-sent until the communication is terminated.
Since the number and types of slave devices that are connected to the bus can vary from one job to the next, and might even change during a particular session, the master controller must initially ascertain the address of each slave device that is connected to it when the system is activated. To do so, the master controller sequentially sends messages containing each valid address that can exist for the system, and detects when a message is acknowledged by a slave device having that address. Once the slave devices have been so identified, the master controller can then transmit the proper command signals on the bus to control a desired slave device.
One type of problem that is frequently encountered in this type of system involves a loss of connection between the master controller and a slave device. This loss of connection might be caused by such events as removing the cable which connects the slave device to the bus, any temporary bus error, or a loss of power to the slave device, for example. When the master controller senses that it has lost connection to one of the slave devices, it should attempt to re-establish communication with the device.
In the past, the procedure that has been followed to redetect a slave device has been the same as that which is employed when the system is first activated, i.e. the sequential examination of all valid addresses for the system. It will be appreciated that this approach can consume a significant amount of the controller's operating time. For example, in a video tape recording system that is limited to about 45-50 valid addresses, it can take up to 15 seconds to detect a slave device with whom connection was lost. Many systems have a greater number of addresses that need to be examined, and therefore require a proportionately greater amount of time to re-establish communication. For example, it is possible to have 8176 valid addresses in any system which complies with the SMPTE standards.
Accordingly, it is desirable to provide a different technique which enables communication with a slave device to be re-established in a shorter period of time once the master controller senses a condition that indicates a need to ascertain which slave devices are present on the bus, e.g. lost connection with a device or failure to communicate with a device for a period of time. One approach might be to first re-examine the address of the suspect device once the controller senses the condition. However, this technique is not always successful because a device frequently does not return to the bus within one examination cycle after an error is sensed. If this is the case, the controller will examine all of the other addresses before it returns to that of the suspect device. Thus, it will be appreciated that this approach could end up taking longer to reestablish communications in many situations.
It is therefore an object of the present invention to provide a novel system for re-detecting a slave device so that communication with a device can be re-established in a minimal amount of time. Along these lines, it is also an object of the invention to provide such a system that complies with all established requirements relating to the detection of devices connected to a bus.